服务于海洋碳通量研究的时空分布式存算一体化架构平台

——2018年中国地理学会地理大数据计算环境“优秀实用案例”

张丰1*,白雁2

1. 浙江大学地球科学学院,杭州 311300;
2. 国家海洋局第二海洋研究所,青岛 266000

摘 要:在全球变化的背景下,海洋固碳(蓝色碳汇)因政府间气候谈判及碳贸易等问题备受国际社会广泛关注。边缘海时空动态变化大、系统复杂,碳通量的估算存在极大的不确定性和挑战,卫星遥感的高时空分辨率、长期稳定观测,已成为解决边缘海碳循环系统科学问题的重要手段之一。项目组为支撑海量的卫星遥感、现场船只、浮标和岸基站观测相结合的边缘海碳通量研究,基于云存储技术,设计了多源碳通量监测数据分布式可扩展存储模型,解决了大规模海洋信息的高可扩展存储、高效率检索等技术难题,构建了PB级遥感碳通量监测数据管理云平台。建立异构混合云计算环境,研制了一套自主可控的三维碳通量遥感信息服务系统。具有自主知识产权的“海洋云计算数据中心+大数据服务云平台”技术架构将为未来实现海洋时空大数据按需计算和面向物联网的多元服务提供全新解决方案。研究成果“中国近海二氧化碳通量遥感监测与示范系统”获得了2015年度国家海洋科学技术奖特等奖。

关键词:海洋碳通量;云计算;大数据服务;存算一体化架构平台

DOI: https://doi.org/10.3974/geodp.2018.03.05

1 背景

1.1 平台建设的科学目标

海洋吸收了近1/3人类排放的二氧化碳(CO2),且接收了大量陆源输入碳(约占陆地生态系统吸收人为CO2 的40%)。从长时间尺度(如千年)来看,只有输入深海、埋藏在海洋沉积物或形成惰性溶解有机碳,才能脱离大气的循环。因此,海洋是CO2的最终储库,对地球碳循环系统及全球气候变化极为重要。当前,海洋固碳(蓝色碳汇)因政府间气候谈判及碳贸易等问题备受国际社会广泛关注。由于边缘海高度动态变化,卫星遥感的高时空分辨率、长期稳定观测,已成为解决边缘海碳循环系统科学问题的重要手段之一[1]

《服务于海洋碳通量研究的时空分布式存算一体化架构平台》的科学目标是:突破海洋时空数据高性能存储、计算核心技术瓶颈,支撑长时序的高精度、高频度、大覆盖的海-气CO2通量和陆源入海碳通量监测数据进行分析评价,构建碳通量高维时空过程可视化模型,厘清碳循环过程主要碳储量和通量的格局和变率,阐明碳循环动态变化的过程和机制,包括自然和人为因素的相互作用。

1.2 主要完成单位

《服务于海洋碳通量研究的时空分布式存算一体化架构平台》研发的完成单位是浙江大学和国家海洋局第二海洋研究所。其中,浙江大学负责构建了海洋时空分布式存算一体化架构,支撑大规模海洋遥感与监测数据的处理、分析与碳循环时空过程模拟;国家海洋局第二海洋研究所承担基于地理大数据计算环境,解决中国近海复杂水体海-气CO2通量遥感估算任务。

2 数据组构

《服务于海洋碳通量研究的时空分布式存算一体化架构平台》第一期数据组构组成部分列于表1,包括数据集名称,数据参数类型,数据覆盖空间范围和空间分辨率,数据时间覆盖范围和频率,数据来源等(表1)。

表1 《服务于海洋碳通量研究的时空分布式存算一体化架构平台》数据组构表
数据集名称参数类型空间范围及分辨率时间范围及分辨率数据来源说明
EIO-WPO-SCS(东印-西太-南海)SSC(Surface Suspension Concentration,表层悬浮物浓度)(10°N-46°N,80°E-160°E);1.8 km2010年5月至2015年5月;日平均、10日平均、月平均、年平均原始数据来自NASA,SIO/SOA制作
(10°N-46°N,80°E-160°E);5 km2003-2010年;10日平均、月平均
CHL (Chlorophyll Concentration,表层叶绿素浓度)(10°N-46°N,80°E-160°E);1.8 km2010年5月至2015年5月;日平均、10日平均、月平均、年平均
(10°N-46°N,80°E-160°E);5 km2003-2010年;10日平均,月平均
SDD(Secchi Disk Depth,海水透明度)(10°N-46°N,80°E-160°E);1.8 km2010年5月至2015年5月;日平均、10日平均、月平均、年平均
(10°N-46°N,80°E-160°E);5 km2003-2010年;10日平均、月平均
GOB/GOC(渤海/长江口海域)SSC(Surface Suspension Concentration,表层悬浮物浓度)(27°N-35°N,119°E-126°E);500 m
(37°N-41°N,117°E-123°E);500 m
2011-2017年;每小时原始数据来自KOSC/GOCI,SIO/SOA制作
LW1(412 nm归一化离水辐亮度)(27°N-35°N,119°E-126°E);500 m
(37°N-41°N,117°E-123°E);500 m
LW2(443 nm归一化离水辐亮度)(27°N-35°N,119°E-126°E);500 m
(37°N-41°N,117°E-123°E);500 m
GOB/GOC(渤海/长江口海域)LW3(490 nm归一化离水辐亮度)(27°N-35°N,119°E-126°E);500 m
(37°N-41°N,117°E-123°E);500 m
2011-2017年;每小时原始数据来自KOSC/GOCI,SIO/SOA制作
LW4(555 nm归一化离水辐亮度)
LW5(660 nm归一化离水辐亮度)
LW6(680 nm归一化离水辐亮度)
LW7(745 nm归一化离水辐亮度)
LW8(865 nm归一化离水辐亮度)
GLOBAL(全球海域)CHL(Chlorophyll Concentration,表层叶绿素浓度)(90°S-90°N,180°W-180°E);4 km1997-2016年;日平均、月平均来源于ESA标准产品,多卫星融合产品
(90°S-90°N,180°W-180°E);4 km2002年7月-发稿日期;日平均、月平均来源于NASA,Aqua/MODIS产品
(90°S-90°N,180°W-180°E);9 km1997年9月至2010年12月;日平均、月平均来源于NASA,SeaWiFS产品
(90°S-90°N,180°W-180°E);4 km2002年-发稿日期;日平均、月平均来源于NASA,VIIRS产品
SST(Sea surface temperature,海表温度)(90°S-90°N,180°W-180°E);25 km1981年-发稿日期;日平均来源于NOAA,AVHRR产品
(90°S-90°N,180°W-180°E);25 km2002年6月-发稿日期;日平均来源于RSS,MW_IR产品
SSW(Sea surface wind field,海面风场)(90°S-90°N,180°W-180°E);25 km1987-2017年;六小时、月平均来源于RSS,CCMP产品
(90°S-90°N,180°W-180°E);25 km2003年2月-发稿日期;日平均、月平均来源于RSS,Windsat产品
GLOBAL(全球海域)NPP(Net primary productivity,净初级生产力)(90°S-90°N,180°W-180°E);9 km2002年7月-发稿日期;月平均来源于Oregon大学,Aqua/MODIS NPP产品
(90°S-90°N,180°W-80°E);9 km1997年9月至2010年12月;月平均来源于Oregon大学,SeaWiFS NPP产品
(90°S-90°N,180°W-180°E);9 km2012年-发稿日期;月平均来源于Oregon大学,VIIRS NPP产品
SSS(Sea surface salinity,海表盐度)(90°S-90°N,180°W-180°E);25 km2016年9月-发稿日期;月平均来源于RSS,SMAP产品
(90°S-90°N,180°W-180°E);25 km2009年7月-发稿日期;月平均来源于ESA,SMOS产品
(90°S-90°N,180°W-180°E);25 km2011-2015年;月平均来源于NASA,Aquaris产品
ACP(Atmospheric CO2 partial pressure,大气CO2分压)(90°S-90°N,180°W-180°E);25 km日平均来源于NOAA NCEP,模式产品
Rrs(Remote sensing reflectance,海水遥感反射率)(90°S-90°N,180°W-180°E);4 km2002年7月-发稿日期;日平均、月平均来源于NASA,Aqua/ MODIS产品
(90°S-90°N,180°W-180°E);9 km1997年9月至2010年12月;日平均、月平均来源于NASA,SeaWiFS产品
(90°S-90°N,180°W-180°E);4 km2012年-发稿日期;日平均、月平均来源于NASA,VIIRS产品
PAR(Photosynthetically active radiation,海面光合有效辐射)(90°S-90°N,180°W-180°E);4 km2002年7月-发稿日期;日平均、月平均来源于NASA,Aqua/ MODIS产品
(90°S-90°N,180°W-180°E);9 km1997年9月至2010年12月;日平均、月平均来源于NASA,SeaWiFS产品
POC(Particulate organic Carbon,表层颗粒有机碳浓度)(90°S-90°N,180°W-180°E);4 km2012年-发稿日期;日平均、月平均来源于NASA,VIIRS产品
(90°S-90°N,180°W-180°E);4 km2002年7月-发稿日期;日平均, 月平均来源于NASA,Aqua/ MODIS产品
(90°S-90°N,180°W-180°E);9 km1997年9月至2010年12月;日平均, 月平均来源于NASA,SeaWiFS产品
PIC(Particulate inorganic Carbon,表层颗粒无机碳浓度)(90°S-90°N,180°W-180°E);4 km2012年-发稿日期;日平均, 月平均来源于NASA,VIIRS产品
(90°S-90°N,180°W-180°E);4 km2002年7月-发稿日期;日平均、月平均来源于NASA,Aqua/ MODIS产品
(90°S-90°N,180°W-180°E);9 km1997年9月至2010年12月;日平均、月平均来源于NASA,Sea WiFS产品
(90°S-90°N,180°W-180°E);4 km2012年-发稿日期;日平均、月平均来源于NASA,VIIRS产品
GLOBAL(全球海域)SSC(Surface Suspension Concentration,表层悬浮物浓度)(90°S-90°N,180°W-180°E);4 km2002年7月-发稿日期;日平均、月平均原始数据来自NASA Aqua/MODIS,SIO/ SOA制作
(90°S-90°N,180°W-180°E);9 km1997年9月至2010年12月;日平均、月平均
(90°S-90°N,180°W-180°E);4 km2012年-发稿日期;日平均、月平均
ACD(443 nm CDOM吸收系数)(90°S-90°N,180°W-180°E);4 km2002年7月-发稿日期;日平均、月平均原始数据来自NASA Aqua/MODIS,SIO/SOA制作
(90°S-90°N,180°W-180°E);9 km1997年9月至2010年12月;日平均、月平均

3 数据计算环境

数据计算环境包括计算机服务器、模型系统、软件系统、网络情况、数据处理能力、数据计算能力和网站传播等。

3.1 硬件环境

现有的硬件环境下(表2),分布式文件系统实现了200 TB的数据存储能力,混合型数据库能够支撑同时100用户的并发访问,高性能在线处理节点可提供同时48个线程的实时处理能力。

表2 《服务于海洋碳通量研究的时空分布式存算一体化架构平台》计算机硬件环境
序号名称描述
1SatCO2 Namenode分布式文件系统主节点
2SatCO2 Datanode1分布式文件子系统子节点
3SatCO2 Datanode2分布式文件子系统子节点
4SatCO2 Database混合型数据库
5SatCO2 Webservice1高性能在线处理服务节点
6SatCO2 Webservice2高性能在线处理服务节点
7SatCO2 Webservice3高性能在线处理服务节点

3.2 软件系统

存算一体化的高扩展高性能时空数据处理框架总体结构采用Hadoop+Spark方式,实现数海洋数据存算一体节点的快速动态扩展,保证计算任务和存储任务的合理调度分配,达到资源最优利用,采用Hadoop集群和Spark集群强大的分布式/并行计算能力,提供高效的海洋时空大数据处理和信息挖掘,保证整个软件体系的高可扩展性、高可用性、高性能和易用性。

如图1所示,其主要组成部分如下:

(1)HDFS:Hadoop分布式文件系统。HDFS有着高容错性的特点,并且设计用来部署在低廉的硬件上。它提供高吞吐量来访问应用程序的数据,适合那些有着超大数据集的应用程序。HDFS放宽了POSIX的要求,以实现流的形式访问文件系统中的数据。

(2)Hadoop Yarn:将MapReduce中的JobTracker拆分成了两个独立的服务:一个全局的资源管理器ResourceManager和每个应用程序特有的ApplicationMaster。其中ResourceManager负责整个系统的资源管理和分配,而ApplicationMaster则负责单个应用程序的管理。

(3)HBase:Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,适合于非结构化数据存储的数据库,是基于列的数据存储模式。

(4)Hadoop MapReduce:hadoop的分布式计算框架,基于该框架能够容易地编写应用程序,这些应用程序能够运行在由上千个商用机器组成的大集群上,并以一种可靠的、具有容错能力的方式并行地处理上TB级别的海量数据集。

(5)Hive:基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。

(6)Oozie:Apache Oozie是一个工作流协同系统。可以配置工作流来运行ALTER TABLE命令,该命令负责向Hive中添加一个包含上一小时数据的分区。我们还可以控制这个工作流每小时执行,这就能确保我们看到的总是最新的数据。

(7)Spark:Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。

(8)Spark Streaming:一种构建在Spark上处理Stream数据的实时计算框架,它扩展了Spark处理大规模流式数据的能力。基本的原理是将Stream数据分成小的时间片断(几秒),以类似batch批量处理的方式来处理这小部分数据。

(9)MLib:Spark的可扩展机器学习库。提供分类回归、聚类、关联规则、推荐、降维、优化、特征抽取筛选,用于特征预处理的数理统计方法以及算法的评测等机器学习算法。

(10)Graphx:一个分布式图计算框架,它是基于 Spark 平台提供对图计算和图挖掘简洁易用而丰富的接口,在Spark之上提供一栈式数据解决方案,可以方便且高效地完成图计算的一整套流水作业,极大的方便了对分布式图处理的需求。

基于多云共生的海洋时空分布式存算一体化架构

图1 基于多云共生的海洋时空分布式存算一体化架构

下载

3.3 计算能力

(1)数据连接计算

基于嵌入式索引的分布式时空数据并发检索技术以及基于 Spark的内存数据库计算技术难点,融合克隆连接和单数据集索引外存空间连接法的思想,提出一个新的基于分布式内存计算的空间连接算法,并用Spark并行编程模型实现。算法首先采用空间格网实现空间划分。然后进行分区连接,对连接后的结果采用重划分模型进行分析,按条件进行迭代重划分。最后,采用R*树单数据集索引方法并行处理每个分区,得到空间连接的最终结果。如图2所示,对比SJMR、SpatialHadoop、Hadoop-GIS和SpatialSpark平台提出的空间连接算法,164,448,446条路网、72,729,686个地块、5,857,442条线状水系、2,298,808个面状水系、121,960个界标多边形参与运算,性能对比,优势明显。

不同技术框架下的空间连接性能对比

图2 不同技术框架下的空间连接性能对比

下载

(2)海洋遥感辐射传输模型计算

将海洋遥感辐射传输模型进行了并行化改造,测试在Windows环境下的原Fortran程序在各阶以及各角度分段数下的运算时间以及在Linux环境下分布式并行化后的Fortran程序与java程序在各阶以及各角度分段数下的运算时间消耗。

1)测试参数为NUMMU(角度分段数)=10固定,AZIORDER(阶数)从10增大到99(程序中限定阶数最大为99),增量为10。随着阶数的增大,并行化后程序的运行速度优势逐渐显著,在阶数为99时,并行化后的程序运行时间比单机运行缩短了24.5倍。

2)测试参数为AZIORDER(阶数)=99固定,NUMMU(角度分段数)从10增大到30,增量为5。NUMMU=25时,Windows下的单机运行速度过慢,NUMMU=30时,无法运行。测试结果如图3所示,程序运行时间随着NUMMU的增大呈指数趋势上涨。随着角度分段数的增大,并行化后程序的运行速度优势亦逐渐显著,在角度分段数达到25时,并行化后的程序运行速度比单机运行快了64.6倍。

程序运行时间与NUMM关系曲线对比图

图3 程序运行时间与NUMM关系曲线对比图

下载

(3)时空过程可视化计算

通过优化时空数据的组织结构,构建时空数据渲染预处理模型实现时空数据的结构化组织,改进针对不同数据类型的高效检索、压缩、叠加等流程方法,实现面向多类型图形终端的高性能渲染;改进流数据调度和绘制算法,实现高效、准确、精确、美观的时空对象数据的可视化渲染。考虑到渲染方式的多样性,分别针对矢量数据、栅格数据、三维数据(DEM、体数据)以及流对象(时序数据)数据等的渲染过程进行剖析,同时将渲染加速按照阶段划分为渲染预处理模型、渲染自适应计算模型、渲染调度策略以及流数据加速渲染优化等方面。针对碳浓度数据特点进行可视化构形,设计内存显存之间渐进式的数据传输策略以应对四维大量时空数据的调度问题,基于CUDA实现大规模粒子状态更新及半角切片技术,采用 GPU编程渲染实现粒子绘制[17]

3.4 服务网站

http://www.satCO2.com

4 平台应用的主要科学成果

CO2等温室气体排放引起的全球气候变化,已严重威胁人类生活和经济发展。为此,联合国举行了多次政府间气候谈判,协商各国的碳减排责任。我国是最大的发展中国家,也是CO2气体排放最多的国家之一。如何协调节能减排和经济发展、承担相应国际责任是我国面临的巨大挑战,迫切需要摸清并掌握我国的碳通量清单以及碳增汇的潜力。根据全球碳计划2013年报告,人类活动排放的CO2约45%存留在大气,27%被海洋吸收,而陆地吸收量则是通过大气和海洋推算得到。因此,准确估算海洋系统碳收支对全球碳循环及气候变化评估具有极其重要的意义。基于利用长时间序列海量的遥感数据,构建长期、稳定的海洋CO2通量监测和评估体系[2],获得可靠、科学的海-气CO2通量评估结果,是极其迫切的国家需求。

4.1 基于控制因子的海水CO2分压半分析遥感模型应用成果

海-气CO2通量估算的关键在于海水CO2分压的遥感反演(以下简称pCO2)。基于海水碳化学和遥感科学的交叉研究,提出了基于控制机制分析的海水pCO2半解析模型框架(Mechanistic-based Semi-Analytic-Algorithm,MSAA-pCO2)。算法思路为: 首先理清研究海区海水pCO2的主要控制机制,然后建立各种控制过程的定量化遥感模型,将不同主控因子引起的pCO2改变量进行叠加,最终获得总的海水pCO2[3]。项目以受长江冲淡水影响的东海海区为示范区域,建立了长江冲淡水表层盐度遥感反演模型,首次获得了高时空分辨率、连续十年序列的长江冲淡水分布及其变化特征,并分析了长江冲淡水对近海浮游植物藻华的影响。在此基础上,综合考虑影响海水CO2分压的热力学作用、水平与垂直混合、生物作用等效应。MeSSA模型比传统的单参数或多参数经验拟合模型能更好地解决复杂近海水体pCO2遥感反演难题,中国近海二氧化碳时空过程如图4所示。由于该模型是基于物理-生化机制,可推广应用到其它大河冲淡水影响的边缘海系统。

中国近海二氧化碳通量时空过程

图4 中国近海二氧化碳通量时空过程

下载

4.2 结合卫星遥感和数值模拟估算边缘海溶解有机碳(DOC)输运通量应用成果

利用卫星遥感反演获得东海表层DOC浓度,进一步利用DOC剖面分布模型,估算得到DOC浓度三维分布。利用数值模拟方法,得到东海的三维流场;利用遥感DOC及模拟流场,估算出了东海DOC水平输运通量。结果表明,在长江口、闽浙沿岸、台湾海峡和黑潮区域,DOC通量常年高值,但存在季节变化[4]。在东海陆架,从南到北存在3条从西向东的DOC输运带,这些输运带在夏半年较强,而在冬半年较弱甚至消失。此外,还存在1条从台湾海峡往北延伸到长江口的DOC输运带。从年平均来看,台湾海峡净输入东海的DOC通量最大,达30.65 Tg C/a,主要从台湾海峡东侧输入;其次为黑潮DOC输入,在200 m等深线达18.75 Tg C/a,主要从26°N-26.5°N陆坡输入。东海DOC净输出主要位于北边界(32°N),达-52.75 Tg C/a,主要从100-200 m的外陆架输出。

4.3 数据产品

通过该计算平台首次完成了覆盖中国海区15年(2000-2014)序列的海-气CO2通量遥感产品集。在以上遥感监测技术的基础上,完成了连续15年(2000-2014)中国邻近海域月平均海气CO2遥感产品,包括大气CO2分压、海水CO2分压、海-气CO2分压差和海-气CO2通量4种专题产品,分辨率达1 km。经覆盖各季节及中国黄海、东海和南海的15个航次的大量走航数据验证,表明在近海高动态变化(200-900 μatm)的复杂水体,遥感反演水体CO2分压平均偏差小于35 μatm,大气CO2分压平均偏差小于10 μatm,海-气CO2通量平均偏差小于±4.2 mmol C/(m2 day)[9-10]。该成果首次为我国提供了覆盖整个中国海域高时空分辨率的碳源汇格局分布、碳收支清单及其长时间序列变化趋势[13-14]。国际上尚未见同类长时间序列的边缘海海-气CO2通量遥感监测产品发布。

4.4 2003-2014年亚欧大陆边缘海生态环境变化监测

通过该计算平台基于MODIS获取的长时间序列的海洋生态环境要素,研究了2003-2014年亚欧大陆12个边缘海生态环境的变化,包括海表温度、光合有效辐射、海水透明度以及叶绿素浓度[5-7]。结果表明, 所有边缘海的温度均上升,其中封闭的边缘海相对上升速率较快,如黑海、波罗的海、日本海、地中海以及波斯湾。光合有效辐射基本都降低,但是欧洲边缘海并不显著。与海表温度的变化相似,海水透明度在所有边缘海都是上升,最大的上升速率出现在波斯湾,为3.02%/a(0.25m/a,P=0.0003)。与预想的一致,叶绿素浓度在热带边缘海基本都下降,但是在高纬度边缘海上升[6]。海表温度与叶绿素浓度变化的不同关系表明全球变暖对不同边缘海浮游植物影响的复杂性[15-16]

4.5 东海的三维流场的模拟与科学发现

通过该计算平台利用卫星遥感反演获得东海表层DOC浓度,进一步利用DOC剖面分布模型,估算得到DOC浓度三维分布。利用数值模拟方法,我们得到东海的三维流场[11-12]。利用遥感DOC及模拟流场,估算出了东海DOC水平输运通量。结果表明,在长江口、闽浙沿岸、台湾海峡和黑潮区域,DOC通量常年高值,但存在季节变化[8]。在东海陆架,从南到北存在三条从西向东的DOC输运带,该输运带夏半年较强,冬半年较弱甚至消失。此外,还存在一条从台湾海峡往北延伸到长江口的DOC输运带。从年平均来看,台湾海峡净输入东海的DOC通量最大,达30.65 Tg C/a,主要从台湾海峡东侧输入;其次为黑潮DOC输入,在200 m等深线达18.75 Tg C/a,主要从26°N-26.5°N陆坡输入。东海DOC净输出主要位于北边界(32°N),达-52.75 Tg C/a,主要从100-200 m的外陆架输出[1]

5 结束语

《服务于海洋碳通量研究的时空分布式存算一体化架构平台》不仅在本项目组成功应用,其在国内外应用培训班上也得到推广。来自孟加拉国、柬埔寨、印度、印度尼西亚、马来西亚、尼日亚、挪威、巴基斯坦、斯里兰卡、泰国、美国和台湾等15个国家和地区的130多名科研人员参加了2016年12月举办的海洋生态环境遥感应用高级培训班。通过SatCO2软件可链接海洋二所云数据中心,获取根据最新研究成果制作的各种专业遥感数据集,结合用户本机的实测数据在三维地球上进行可视化数据分析及海洋碳通量估算。2017年12月1-5日举办了国内培训,来自国家海洋局第一海洋研究所、国家海洋环境监测中心、中国科学院南海海洋研究所、浙江海洋大学、浙江大学、台湾中山大学、厦门大学、同济大学、中国海洋大学、国家卫星海洋应用中心、深圳大学和山东大学等33个单位130余名专家、学者和学生参加了培训。

通过本平台的前期实验和推广应用的实践,《服务于海洋碳通量研究的时空分布式存算一体化架构平台》可以直接应用于国家海洋环境监测数据集成和分析计算相关的科研活动。

参考文献